package com.hsp.single_;

public class SingleTon01 {
    public static void main(String[] args) {
        //通过方法可以获取对象
        GirlFriend girlFriend = GirlFriend.getInstance();
        System.out.println(girlFriend.n1);
    }
}

//有一个类 ，GirlFriend
//只能有一个GirlFriend

class GirlFriend {

    private String name;
    public static int n1 = 100;
    //为了能够在静态方法中，返回gf 对象，需要将其修饰为static
    //饿汉式创建了对象但没有使用
    private static GirlFriend gf = new GirlFriend("小花");

    //单例模式[饿汉式]
    //1. 将构造器私有化
    //2.在再类的内部直接创建对象(该对象是static)
    //3. 提供一个公共的static方法，可以返回对象
    private GirlFriend(String name) {
        System.out.println("创建了构造器");
        this.name = name;
    }

    public static GirlFriend getInstance() {
        return gf;
    }

    @Override
    public String toString() {
        return "GirlFriend{" +
                "name='" + name + '\'' +
                '}';
    }
}